iT邦幫忙

2025 iThome 鐵人賽

DAY 6
0
DevOps

30 天自動化高手養成:玩轉 n8n 工作流系列 第 6

Day 6:Google Sheet 自動更新(API 寫入)

  • 分享至 

  • xImage
  •  

在學會了 Function / IF / Merge 等資料處理技巧之後,今天我們要實作一個最常見的自動化場景:
👉 把資料自動寫入 Google Sheet

這個案例非常實用,例如:

  • 表單送出 → 自動記錄到 Google Sheet
  • API 抓取資料 → 定時存入 Sheet
  • CRM 系統 → 每日同步客戶清單

前置準備

要在 n8n 中使用 Google Sheet,必須先建立一個 Google Cloud 專案並開啟 API 授權。

  1. 前往 Google Cloud Console
  2. 建立一個專案(Project)
  3. 啟用 Google Drive API
  4. 啟用 Google Sheets API
  5. 建立 OAuth 認證資訊(或 Service Account)
  6. 在 n8n 裡設定憑證(Credentials → Google → Google Sheets OAuth2)

完成後,你的 n8n 才能存取 Google Sheet。


建立 Workflow:自動更新 Google Sheet

範例流程:

  • Trigger:每天早上 9 點自動執行(Schedule Trigger Node)
  • API:抓取匯率資訊(HTTP Request Node)
  • Code : 把抓下來的資訊處理(Function Node)
  • Google Sheet:把當日匯率記錄到試算表
    https://ithelp.ithome.com.tw/upload/images/20250920/20168203avngqWv1us.png

Step 1:建立 Trigger(Schedule Trigger Node)

  • 在工作流中加入 Schedule Trigger Node
  • 設定 → 「Days」 → 時間 9am
  • 這樣每天早上 9:00 就會自動執行
    https://ithelp.ithome.com.tw/upload/images/20250920/20168203DbGJ1oBzAK.png

Step 2:呼叫匯率 API

在 Schedule Trigger 之後加一個 HTTP Request Node

  • Method:GET
  • URL:https://api.fxratesapi.com/latest?base=USD&symbols=TWD,JPY,EUR
    https://ithelp.ithome.com.tw/upload/images/20250920/20168203XTjXbCLiJ9.png

API 回傳範例:
https://ithelp.ithome.com.tw/upload/images/20250920/201682036YW1j32Py1.png


Step 3:整理資料(Function Node)

因為 API 回傳的資料結構不太適合直接寫入表格,我們用 Function Node 整理:

return [
  {
    JSON: {
      Date:$input.first().json.date,
      "USD / TWD" : $input.first().json.rates.TWD,
      "USD / JPY" : $input.first().json.rates.JPY,
      "USD / EUR" : $input.first().json.rates.EUR
    }
  }
];

https://ithelp.ithome.com.tw/upload/images/20250920/20168203qC9kF7vRfh.png

輸出結果:
https://ithelp.ithome.com.tw/upload/images/20250920/20168203VEuLbYSNX6.png


Step 4:寫入 Google Sheet

  • 加入 Google Sheets Node
  • 輸入 Credential
    https://ithelp.ithome.com.tw/upload/images/20250920/20168203pgRzeMbfWT.png
  • Operation:Append Row
  • 指定 Google Sheet 檔案與工作表名稱
  • 選擇「Map Each Column Manually」並將資料依序排列
    https://ithelp.ithome.com.tw/upload/images/20250920/20168203rWPdrFoo2N.png

Google Sheet 範例表格:

https://ithelp.ithome.com.tw/upload/images/20250920/20168203NQsDwKdTsf.png

每天早上 9 點,表格就會自動新增一列新的匯率數據。


進階 Tips

  • 條件更新(Update)
    → 如果資料已存在當日日期,就改成「Append or Update Row」,避免重複寫入。
  • 多來源合併
    → 結合 Merge Node,把匯率 + 天氣一起寫進 Google Sheet。
  • 串接 LINE
    → 在寫入 Google Sheet 後,順便推送訊息通知團隊。

小結

今天我們完成了一個常見的自動化:

  • 使用 API 取得資料
  • Function Node 整理結構
  • 自動 寫入 Google Sheet

這個技巧可以應用在 報表、行銷追蹤、專案管理 等場景,非常靈活。

明天(Day 7)我們會挑戰另一個實用案例:
👉 每日天氣通知自動發送到 Discord ☁️📲


上一篇
Day 5:常見資料處理:Function Node、IF、Merge 的應用
下一篇
Day 7:每日天氣通知自動發送到 Discord
系列文
30 天自動化高手養成:玩轉 n8n 工作流12
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言